//==============================================================================
// Battle Character Limit.js
//==============================================================================

/*:
* @plugindesc 更改参战角色数量,战斗位置.
* @author Mr. Trivel
* 
* @param 参战上限
* @desc 最多参战人员数量
* 默认值:8
* @default 8
*
* @param 每排数量
* @desc 设置战斗中每排人物的数量
* 默认值:3
* @default 3
*
* @param 偏移(X)
* @desc 战斗中所有角色的偏移度(X)
* 默认值:120
* @default 120
* 
* @param 垂直偏移(Y)
* @desc 战斗中所有角色的垂直偏移度(Y)
* 默认值:260
* @default 260
* 
* @param 队伍阵列幅度
* @desc 数值越小,下方角色越靠前,形成90度阵列,越大下方角色越靠后,形成-40度阵列。"默认值:48"
* @default 48
*
* @param 正向偏移
* @desc 所有角色面向敌人偏移程度
* 默认值:100
* @default 100
*
* @param 每排间隔
* @desc 前后两排间的间隔距离
* 默认值:100
* @default 100
*
* @param 垂直行间隔
* @desc 每个角色的垂直间隔
* 默认值:54
* @default 54
* 
* @help Version 1.1 - 自颖叔の汉化.
*/

(function() {
    var parameters = PluginManager.parameters('Battle Character Limit');

	var maxCharacters = Number(parameters['参战上限'] || 5);
	var charasPerRow = Number(parameters['每排数量'] || 3);
	var rightOffset = Number(parameters['偏移(X)'] || 120);
	var topOffset = Number(parameters['垂直偏移(Y)'] || 360);
	var lowerCharaIndex = Number(parameters['队伍阵列幅度'] || 48);
	var forwardIndex = Number(parameters['正向偏移'] || 100);
	var rowSpacing = Number(parameters['每排间隔'] || 100);
	var charaVerticalSpacing = Number(parameters['垂直行间隔'] || 54);

	Game_Party.prototype.maxBattleMembers = function() {
	    return maxCharacters;
	};

	Sprite_Actor.prototype.setActorHome = function(index) {
		var c = Math.floor(index/charasPerRow);
		var x = (Graphics.boxWidth - rightOffset) - forwardIndex * Math.floor($gameParty.battleMembers().length/charasPerRow) + lowerCharaIndex * (index % charasPerRow) + rowSpacing * c;
		var y = topOffset + (index%charasPerRow) * charaVerticalSpacing;
	    this.setHome(x, y);
	};

})();